이곳은 개발을 위한 베타 사이트 입니다.기여내역은 언제든 초기화될 수 있으며, 예기치 못한 오류가 발생할 수 있습니다.문서의 임의 삭제는 제재 대상으로, 문서를 삭제하려면 삭제 토론을 진행해야 합니다. 문서 보기문서 삭제토론 오픈 소스 (문단 편집) === 단점 === 가장 큰 단점은 유지보수하는 주체가 명확하지 않다 보니 유지보수가 제대로 이루어지지 않는 경우가 많다는 점이다. 오픈 소스 프로젝트라도 [[레드햇]]처럼 개발 주체가 명확하면 이런 경우가 별로 없지만[* 사실 이것은 양날의 검이다. 개발 주체가 명확한 만큼 주체가 되는 존재가 유저들의 기여를 관리하면서 업데이트 하기 때문에 어지간한 상용 프로젝트들 보다 관리가 잘되지만 반대로 위에서 언급된것 처럼 개발의 주체가 되는 단체에 휘둘리게 되며 당장 예시로 든 레드햇 또한 상용 오픈소스 프로젝트의 대표적인 주자였으나 2023년 들어서는 RHEL의 소스코드를 제한적으로만 공개하도록 방침을 바꾸면서 레드햇 계열 OS를 쓰는 모두를 엿먹였다. ], 대부분의 오픈 소스 프로젝트는 비영리성으로 돌아가며 전적으로 유저 기여에 의존하기 때문에 정기적인 업데이트를 진행하는 상용 소프트웨어와는 다르게 신기능 등을 추가하는 업데이트 등이 비정기적이며 크리티컬한 문제를 해결하는 업데이트 등이 느리게 진행되는 경우가 많으며 아예 기여하는 유저 수가 너무 적어서 업데이트 자체가 거의 멈춘 프로젝트들이 많다. 또한 이런 점 때문에 해당 소프트웨어를 사용하다 문제가 발생하면 책임 소재가 명확한 상용 소프트웨어들과는 다르게 오픈 소스 프로젝트 대다수는 책임을 묻기가 힘든 경우가 많다.[* 아래의 Colors.js 사태가 대표적인 예시로 해당 프로젝트를 고의로 테러해서 기업에 손실을 가한 marak은 깃허브 계정이 일시 정지 당한 것 말고는 아무런 처벌을 받지 않았다. ] 이 때문에 신속한 문제해결과 안정적인 유지보수가 필요한 데이터베이스, [[전사적 자원관리|ERP]], [[게임 엔진]], 개발 소프트웨어 등의 기업 수요가 방대한 소프트웨어들이 오픈소스나 자체 시스템이 아닌 검증된 상용 소프트웨어를 쓰는 경향이 있으며 이런 경향 덕분에 [[오라클(기업)|욕을 한바가지 먹는 회사]]가 욕을 먹음에도 불구하고 검증된 서비스를 바탕으로 높은 점유율을 차지하고 있다. 그 다음 문제로는 오픈 소스 프로그램의 경우 다양한 기여자의 참가로 사용은 둘째 치고 문서화가 빈약한 데다[* 가장 큰 문제점은 참가자가 너무 많으면 자기가 기여한 내용이 또 다른 기여자에 의해 수정되는 경우가 많이 발생해서 기여자가 자신이 기여한 내용에 대해서 문서화를 해놔도 다음 기여분에서 삭제되거나 바뀌어서 해당 문서와 내용이 맞지 않는 사태가 발생하기 때문이다. 상용 프로그램이라면 프로그램을 감독하는 사람이 이를 적절히 관리하겠지만 오픈소스 특성상 이런 걸 기대하긴 힘들다. 오히려 여러 사람이 아닌 개인이 운영하는 프로젝트가 문서화가 잘 되는 경우가 많은데 이런 프로젝트는 개인 운영이라는 문제 때문에 개발 주기가 매우 늘어져서 업데이트가 멈춘 프로젝트가 많다.] 컴파일은커녕 컴파일 전 단계의 {{{configure}}} 단계부터 복잡한 경우가 있는 등 개발이 함께 들어간다면 막상 운용에 있어 곤란한 점들이 생기기 쉽다는 단점이 있다. 그리고 이런 점 때문에 금방 버림받는 오픈 소스 프로젝트들이 많이 발생하며 사용자들 또한 이러한 불안정성이 소프트웨어 개발업체가 아닌 업체들이 오픈 소스를 기피하는 가장 큰 이유인데 기술지원을 받기 힘들다는 것과 자체적인 능력이 부족해서 스스로 유지보수를 할 수 없다는 점 때문에 대다수 회사는 기술지원과 유지보수 주체가 확실한 소프트웨어 공급 업체들을 찾는 경우가 많으며 이 때문에 OSS 개발사는 아니지만, OSS를 사용하는 기업들을 위한 유지보수 전문 기업을 볼 수 있다. 또한 개발에 참여하는 주체가 많다는 점 때문에 개발하는 유저들 간의 파벌이나 기여가 가장 많은 유저에게 휘둘리는 문제 등이 발생하는 오픈 소스 프로젝트들도 자주 나오며 이러한 프로젝트는 또 포크되어서 다른 프로젝트가 되어버리고 거기서 비슷한 문제가 발생하면 또 포크되어서 다른 프로젝트가 되는 파편화 문제 또한 자주 볼 수 있다.[* 이 파벌 문제로 유명한 프로젝트 중 하나가 [[Cataclysm : Dark Days Ahead]]로 이 경우에는 친목질이 개발에 큰 영향을 주었다. ] 또한 보안 위협에서 투명하다는 장점 또한 반대로 말하면 보안 취약점 또한 손쉽게 드러난다는 소리이기도 하며 2021년 12월 사상 최악의 보안 취약점으로 알려진 '로그4j([[Log4j]])'[* CVE-2021-44228, Log4shell ]는 프로그램 작성 중 로그를 남기기 위해 사용되는 자바 기반의 오픈소스 유틸리티 프로그램으로 사용이 늘어난 오픈소스가 이런 보안 취약점에 약하다는것을 알려준 대표적인 사례라고 볼 수 있다. 아파치 소프트웨어 재단의 Java 프로그래밍 언어로 제작된 Log4j 라이브러리는 해커가 로그에 기록되는 곳을 찾아 특정 값을 추가하기만 하면 취약점을 악용할 수 있는 방식으로 세상에 공개 되었다. 자세한 내용은 [[Log4j 보안 취약점 사태]]를 참고 바란다. 또한 유명한 오픈 소스 프로젝트 대부분은 기업들이 오픈 소스를 통해서 유지비용을 줄일 생각으로[* 이런 프로젝트들의 경우에는 해당 프로젝트 참여율이 높은 개발자를 눈여겨 보다가 스카웃 제의를 하는 경우가 많은지라 어느 정도 수준이 되는 개발자들이 취업등용문으로써 많이 모인다, 그리고 이들 대부분이 무료로 일하기 때문에 회사 입장에서는 인력을 공짜로 굴리는 셈이라 여러모로 이득이다.] 대규모 기업이 자사의 프로젝트를 오픈 소스로 풀어버린 경우이며[* 대표적인 사례가 [[Microsoft .NET]], [[텐서플로]], [[The Chromium Projects|크로뮴]] 등등.] 대부분의 오픈 소스 프로젝트는 대기업들 또한 무임 승차로 이용하는 경우가 많은데[* 오픈소스를 악용하는 짓이지만 사실 당연하게도 여겨지고 있었으며 레드햇의 엔지니어링 부사장이 [[https://zdnet.co.kr/view/?no=20230703093134|아무런 대가도 지불하지 않으려고 하거나 이걸 재포장해서 판매해먹으려고 하는 사람들만 분노할뿐]]이라고 공공연하게 언급할 정도로 "무임승차" 문제는 오픈소스 프로젝트 대부분에 논란이 되어가고 있다.] 이에 항의하기 위해 벌인 사건 중 하나가 [[https://snyk.io/blog/open-source-npm-packages-colors-faker/|Colors.js 사건]][* [[포춘 500]] 등에 등재된 대기업들이 자기의 프로젝트를 아무런 기여 없이 무상으로 쓰고 있다고 자기가 만든 Colors.js라는 프로젝트에 무한루프를 발생시키는 로직을 짜 넣어서 해당 프로젝트를 쓰는 기업에 셀프 DoS 공격을 가하게 만든 사건. 여담이지만 Colors를 만든 사람은 [[https://github.com/marak/Faker.js|Faker.js]]라는 유명 프로젝트 또한 만든 유저인데 이 사람은 Faker.js도 같은 이유로 셀프 반달리즘을 해 놓아서 (이쪽은 아예 롤백도 못하게 리포지토리를 통째로 날려버렸다) [[https://twitter.com/marak/status/1479200803948830724|결국 깃허브 계정이 정지되었다.]]] 등이다. 그리고 가장 최악의 문제점은 프로젝트가 외부적 요소에 매우 취약하다는 점으로 특정 프로젝트가 개발 주체등의 문제로 프로젝트가 유기되거나 클로즈드 소스로 바뀔 경우 해당 프로젝트를 사용하거나 파생된 타 프로젝트 또한 개발에 영향을 받거나 심각한 경우 같이 유기되며[* 사실 left pad 사태에서 볼수 있듯이 비단 오픈소스 아니어도 오픈소스를 쓴 프로젝트는 다 영향을 받는다. 문제는 오픈소스 프로젝트들이 개방적이라 서로 참조하는 분야가 많고 단순히 참조하는 수준이 아닌 해당 프로젝트에서 파생된 프로젝트도 많아 더 영향을 많이 받는다.] 이런 문제점이 드러나는 대표적인 사례는 [[npm]]에서 벌어진 left-pad 사태가 대표적이며 이외에도 RHEL과 그 파생형에서 벌어진 사건들 또한 오픈소스가 외부적인 문제에 취약함을 드러내는 대표적인 사례이다. 위에서 장점으로 언급한 오픈소스 신기술 적용은 사실 단점이다. 대다수의 최신 기술은 대기업들이 자본을 투입해 클로즈드 소스로 개발하는 경우가 대다수이며[* 물론 기업들이 작정하고 자본을 투입해 처음부터 오픈소스로 만드는 프로젝트들도 있으나([[AV1]]) 이경우는 보통 기존에 돈주고 쓰던 기술을([[H.265]]) 돈 주고 쓰기 싫다고 돈 한푼도 안내도 될 포맷을 만들기 위해 돈을 쓰는거라 철저히 이해타산을 위해 투자하는것이지 오픈소스 진영을 위해 개발하는게 아니며 당연하게도 해당 기술 표준을 주도하는 단체는 투자한 기업들의 의도에 휘둘리는 등 완전한 오픈소스 프로젝트라고 보긴 힘들다. ] 오픈소스는 이런 대기업들이 만들어놓는 기술기반을 따라가는 상황이 대부분이다. 대표적인 예시로 바둑 인공지능의 신세계를 연 [[알파고]]는 구글이 클로즈드 소스로 개발한 프로젝트고 오픈소스 프로젝트들은 알파고를 주제로 하는 논문에 기반해 알파고를 따라하는 정도가 한계였으며 [[생성형 인공지능]]의 대표주자라고 평가받는 [[OpenAI]]또한 이름과는 다르게 GPT를 클로즈드 소스로 전환했고 TensorFlow를 오픈소스로 운영하는[* 그리고 그 TensorFlow도 구구절절히 따져보면 오픈소스가 아닌 부분이 꽤 된다 (TPU관련분야 등등)] 그 구글의 언어모델인 LaMDA또한 클로즈드 소스로 운영되는 등 최신예 기술을 선도하는 기업들의 프로젝트는 대다수 클로즈드 소스로 운영된다. 흔히 오픈소스 소프트웨어가 최신기술을 더 빨리 도입한다고 착각할수 있는데 왜냐하면 해당 기술의 적용은 오픈소스 프로젝트가 더 빠를수 있기 때문이다. 오픈소스 프로젝트는 그 기술을 쑤셔박길 원하는 개발자가 있으면 그 개발자의 주도 하에 별도의 검증단계 없이 해당 기술을 구겨박고 오픈소스 커뮤니티를 통해 검증하는것이 가능하지만[* 대부분의 오픈소스 프로젝트는 사용자=개발자 인 경우가 다수이기 때문이다] 일반적인 기업은 제품을 출시하고 문제가 발생하면 안되니까 출시 전에 엄격한 검증을 진행해야 하기 때문이다. 즉 오픈소스가 상용 프로젝트에 비해 더 발전된것이 아니라 그냥 검증단계를 건너뛰거나 하는것 때문에 그렇게 보이는것이지 오픈소스가 기술적으로 우위가 있어서 그런것이 아니다.저장 버튼을 클릭하면 당신이 기여한 내용을 CC-BY-NC-SA 2.0 KR으로 배포하고,기여한 문서에 대한 하이퍼링크나 URL을 이용하여 저작자 표시를 하는 것으로 충분하다는 데 동의하는 것입니다.이 동의는 철회할 수 없습니다.캡챠저장미리보기